1. Field of the Invention
This invention relates generally to apparatus for information signal processing and, more particularly, to apparatus for compressing and expanding image data information in connection with transmission over a low bandwidth channel.
2. Background Art
Transmission of high resolution image data over a low bandwidth channel, such as a standard telephone line, is time consuming. The relatively low bandwidth of a telephone line, and the large bandwidth of a high quality image, can dictate transmission times for a single analog image frame on the order of 20 minutes. It has been recognized that one way around such unacceptably long transmission times for a single image frame is to digitize and compress the image signal prior to transmission. Various image data compression techniques are known in the art, including thresholding, normalization, quantization and minimum redundancy encoding. In addition, it is well-known that compression techniques are improved, and the number of bits required to represent a frame can be reduced, if the image data is initially transformed in accordance with certain well known transform algorithms, such as the discrete cosine transform algorithm.
U.S. Pat. No. 4,772,956, which is expressly incorporated by reference into the present disclosure, describes a compressor utilizing dual processors and a dual port memory. The compressor accesses successive pairs of a series of predefined square (or rectangular) blocks of image data stored in a frame store memory and stores them in the dual port memory. Image compression is divided between the dual processors, which access the pair of blocks through the different ports of the dual port memory. One of the dual processors is a digital signal processor programmed to perform the discrete cosine transform portion of the compression algorithm, while the other of the dual processors is a microprocessor programmed to perform block-to-serial conversion of the discrete cosine transform coefficients generated by the digital signal processor. The microprocessor is further programmed to perform thresholding, normalization, quantization and minimum redundancy encoding. The resulting compressed image data is loaded into a reserved portion of the frame store memory called the compressed image buffer.
Alternative allocations of the compression algorithm among the dual processors are also disclosed in U.S. Pat. No. 4,772,956. For example, the digital signal processor may be programmed to perform the discrete cosine transform, the block-to-serial conversion, thresholding, normalization and quantization, leaving only the minimum redundancy encoding to be performed by the microprocessor. Consequently, the reduction of the bit stream (by minimum redundancy encoding) from the predefined block size is always done by the microprocessor after the partially processed data is finally withdrawn from the dual port memory. Likewise, minimum redundancy decoding from the reduced bit stream to a standard block size is always done before the data is first written into the dual port memory. This means that well-defined bit streams are always being transferred between the processors through the dual port memory.
With the availability of very fast digital signal processors, it is feasible to allocate all of the image compression, including minimum redundancy encoding and decoding, to the digital signal processor without paying a speed penalty and to use the microprocessor mainly as a host processor for data management. However, the task of data management in the dual port memory becomes more than a simple reallocation of effort because the digital signal processor is generating (i.e., compressing) and decoding (i.e., expanding) a data stream having an undefined length relative to the predefined input (or output) block of image data. Thus, once the digital signal processor performs all compression functions, including minimum redundancy encoding, undefined streams of data flow across the dual port memory and efficient management and use of the memory space becomes more difficult.